<?php
//   +----------------------------------------------------------------------
//   | Copyright (c) 2015-2025 http://www.hdphp.cn All rights reserved.
//   | Licensed ( http://www.hdphp.cn/licenses/ )
//   | Author: Jack <sophia2152@qq.com>
//   | 官方网址: http://www.hdphp.cn
//   | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//   | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//   +----------------------------------------------------------------------
namespace app\dao\message;

use app\dao\BaseDao;
use app\model\message\TemplateMessage;

/**
 * Class：模板消息
 * 创建人：Jack
 * 创建时间：2023/11/30 10:11
 * @package app\dao\message
 */
class TemplateMessageDao extends BaseDao
{
    /**
     * 设置模型
     * @return string
     */
    protected function setModel(): string
    {
        return TemplateMessage::class;
    }

    /**
     * 注释：获取一条数据
     * 创建人：Jack
     * 创建时间：2023/11/30 10:12
     * @param array  $where
     * @param string $filed
     * @param bool   $is_search
     * @return array|mixed|null
     */
    public function getTemplateOne(array $where, string $filed = '*', bool $is_search = true)
    {
        if ($is_search) {
            return $this->search($where)->field($filed)->find();
        } else {
            return $this->getModel()->where($where)->find();
        }
    }

    /**
     * 注释：获取模板消息列表
     * 创建人：Jack
     * 创建时间：2023/11/30 10:13
     * @param array $where
     * @param int   $page
     * @param int   $limit
     * @return array
     */
    public function getTemplateList(array $where, int $page, int $limit)
    {
        return $this->getModel()->when(isset($where['name']) && $where['name'] != '', function ($query) use ($where) {
            $query->where('name', 'LIKE', "%$where[name]%");
        })->when(isset($where['status']) && $where['status'] != '', function ($query) use ($where) {
            $query->where('status', $where['status']);
        })->where('type', $where['type'])->page($page, $limit)->select()->toArray();
    }

}